// 简单的模块化
// require 是一个方法，他的作用就是来加载模块的
// 在node中，模块有三种：
// 	+ 具名的核心模块，例如 ：fs 、http
// 	+ 用户自己编写的文件模块：（注意的是相对路径必须加./）

var foo = 'aaa'

console.log('a start');
require('./b.js')
console.log('a end');

console.log('foo的获取值：', foo);
// 在node中没有全局作用域，只有模块作用域；外部访问不到内部，内部也访问不了外部。
// 综上：模块作用域(文件作用域)只要是超出这个文件范围，都不管用。如上例中，a文件虽然加载
// b文件，但是b文件中的任何变量不会污染其他文件的变量。

// 既然是模块作用域，那如何让模块与模块之间进行通信？
const bExports = require('./b')
console.log(bExports.add(10, 20)); // 30